/*
 * Creation : 17/09/2013
 */
/**
 * 
 */
package com.japcatalog.model;

import java.io.Serializable;
import java.util.Date;

/**
 * Class modeling a catalog module.
 * 
 * @author Fernando Ariel Perelli
 */
public abstract class CatalogObject implements Serializable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = -5046141982062385457L;

	private Long catalogObjectId;

	/** The type. */
	private String type;

	/** The name. */
	private String name;

	/** The version. */
	private Long version;

	/** The description. */
	private String description;

	/** The cost. */
	private Double cost;

	/** The creation date. */
	private Date creationDate;

	/** The last modification. */
	private Date lastModification;

	public CatalogObject() {
	}

	/**
	 * Getter catalogObjectId
	 * 
	 * @return the catalogObjectId
	 */
	public Long getCatalogObjectId() {
		return catalogObjectId;
	}

	/**
	 * Setter catalogObjectId
	 * 
	 * @param catalogObjectId
	 *            the catalogObjectId to set
	 */
	public void setCatalogObjectId(Long catalogObjectId) {
		this.catalogObjectId = catalogObjectId;
	}

	/**
	 * Gets the type.
	 * 
	 * @return the type
	 */
	public String getType() {
		return type;
	}

	/**
	 * Sets the type.
	 * 
	 * @param type
	 *            the new type
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * Gets the name.
	 * 
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * Sets the name.
	 * 
	 * @param name
	 *            the new name
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * Gets the version.
	 * 
	 * @return the version
	 */
	public Long getVersion() {
		return version;
	}

	/**
	 * Sets the version.
	 * 
	 * @param version
	 *            the new version
	 */
	public void setVersion(Long version) {
		this.version = version;
	}

	/**
	 * Gets the description.
	 * 
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * Sets the description.
	 * 
	 * @param description
	 *            the new description
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * Gets the cost.
	 * 
	 * @return the cost
	 */
	public Double getCost() {
		return cost;
	}

	/**
	 * Sets the cost.
	 * 
	 * @param cost
	 *            the new cost
	 */
	public void setCost(Double cost) {
		this.cost = cost;
	}

	/**
	 * Gets the creation date.
	 * 
	 * @return the creation date
	 */
	public Date getCreationDate() {
		return creationDate;
	}

	/**
	 * Sets the creation date.
	 * 
	 * @param creationDate
	 *            the new creation date
	 */
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}

	public Date getLastModification() {
		return lastModification;
	}

	public void setLastModification(Date lastModification) {
		this.lastModification = lastModification;
	}

}
